-
-
Notifications
You must be signed in to change notification settings - Fork 306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: unpin nodejs version from 22.4 #6982
Conversation
This reverts commit f20484b.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## unstable #6982 +/- ##
============================================
- Coverage 48.51% 48.50% -0.01%
============================================
Files 600 600
Lines 40142 40150 +8
Branches 2057 2058 +1
============================================
Hits 19475 19475
- Misses 20629 20637 +8
Partials 38 38 |
|
Benchmark suite | Current: 10dc828 | Previous: dbe2188 | Ratio |
---|---|---|---|
BLS verifyMultipleSignatures 3 - blst | 3.8607 ms/op | 1.1742 ms/op | 3.29 |
BLS verifyMultipleSignatures 8 - blst | 6.0941 ms/op | 1.6776 ms/op | 3.63 |
BLS verifyMultipleSignatures 32 - blst | 16.336 ms/op | 4.7729 ms/op | 3.42 |
BLS verifyMultipleSignatures 64 - blst | 30.863 ms/op | 8.8500 ms/op | 3.49 |
BLS verifyMultipleSignatures 128 - blst | 64.545 ms/op | 16.884 ms/op | 3.82 |
altair processAttestation - setStatus - 1/3 committees join | 726.72 us/op | 179.53 us/op | 4.05 |
altair processAttestation - setStatus - 4/5 committees join | 1.4822 ms/op | 483.83 us/op | 3.06 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 17.497 us/op | 5.3220 us/op | 3.29 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 4.5070 ms/op | 1.1503 ms/op | 3.92 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 4.9435 ms/op | 1.4752 ms/op | 3.35 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 11.588 ms/op | 3.5677 ms/op | 3.25 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 11.410 ms/op | 3.7793 ms/op | 3.02 |
Array.get | 0.91314 ns/op | 0.28480 ns/op | 3.21 |
Uint8Array.get | 1.4727 ns/op | 0.43683 ns/op | 3.37 |
Buffer.compare 1024 | 82.768 ns/op | 26.543 ns/op | 3.12 |
migrate state 1500000 validators, 1700 modified, 1000 new | 3.3304 s/op | 963.21 ms/op | 3.46 |
migrate state 1500000 validators, 3400 modified, 2000 new | 3.7472 s/op | 1.0910 s/op | 3.43 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 20.590 ns/op | 4.1900 ns/op | 4.91 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 2.2685 us/op | 609.49 ns/op | 3.72 |
computeProposers - vc 250000 | 27.641 ms/op | 7.3949 ms/op | 3.74 |
computeEpochShuffling - vc 250000 | 172.67 ms/op | 42.436 ms/op | 4.07 |
getNextSyncCommittee - vc 250000 | 474.39 ms/op | 121.96 ms/op | 3.89 |
Full benchmark results
Benchmark suite | Current: 10dc828 | Previous: dbe2188 | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 4.5204 ms/op | 1.8322 ms/op | 2.47 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 137.89 us/op | 46.995 us/op | 2.93 |
BLS verify - blst | 1.9953 ms/op | 772.06 us/op | 2.58 |
BLS verifyMultipleSignatures 3 - blst | 3.8607 ms/op | 1.1742 ms/op | 3.29 |
BLS verifyMultipleSignatures 8 - blst | 6.0941 ms/op | 1.6776 ms/op | 3.63 |
BLS verifyMultipleSignatures 32 - blst | 16.336 ms/op | 4.7729 ms/op | 3.42 |
BLS verifyMultipleSignatures 64 - blst | 30.863 ms/op | 8.8500 ms/op | 3.49 |
BLS verifyMultipleSignatures 128 - blst | 64.545 ms/op | 16.884 ms/op | 3.82 |
BLS deserializing 10000 signatures | 1.1931 s/op | 680.19 ms/op | 1.75 |
BLS deserializing 100000 signatures | 14.563 s/op | 6.8201 s/op | 2.14 |
BLS verifyMultipleSignatures - same message - 3 - blst | 1.4455 ms/op | 916.68 us/op | 1.58 |
BLS verifyMultipleSignatures - same message - 8 - blst | 1.5471 ms/op | 1.0632 ms/op | 1.46 |
BLS verifyMultipleSignatures - same message - 32 - blst | 2.4650 ms/op | 1.7258 ms/op | 1.43 |
BLS verifyMultipleSignatures - same message - 64 - blst | 3.8503 ms/op | 2.6106 ms/op | 1.47 |
BLS verifyMultipleSignatures - same message - 128 - blst | 9.6206 ms/op | 4.3830 ms/op | 2.19 |
BLS aggregatePubkeys 32 - blst | 27.364 us/op | 19.680 us/op | 1.39 |
BLS aggregatePubkeys 128 - blst | 128.59 us/op | 70.171 us/op | 1.83 |
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 98.144 ms/op | 52.453 ms/op | 1.87 |
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 76.447 ms/op | 47.252 ms/op | 1.62 |
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 59.431 ms/op | 45.001 ms/op | 1.32 |
getSlashingsAndExits - default max | 156.20 us/op | 118.37 us/op | 1.32 |
getSlashingsAndExits - 2k | 653.05 us/op | 291.17 us/op | 2.24 |
proposeBlockBody type=full, size=empty | 8.5139 ms/op | 6.2029 ms/op | 1.37 |
isKnown best case - 1 super set check | 446.00 ns/op | 276.00 ns/op | 1.62 |
isKnown normal case - 2 super set checks | 613.00 ns/op | 284.00 ns/op | 2.16 |
isKnown worse case - 16 super set checks | 608.00 ns/op | 277.00 ns/op | 2.19 |
InMemoryCheckpointStateCache - add get delete | 6.5300 us/op | 2.6870 us/op | 2.43 |
validate api signedAggregateAndProof - struct | 2.2040 ms/op | 1.4002 ms/op | 1.57 |
validate gossip signedAggregateAndProof - struct | 2.5959 ms/op | 1.3665 ms/op | 1.90 |
batch validate gossip attestation - vc 640000 - chunk 32 | 189.45 us/op | 126.08 us/op | 1.50 |
batch validate gossip attestation - vc 640000 - chunk 64 | 153.57 us/op | 110.63 us/op | 1.39 |
batch validate gossip attestation - vc 640000 - chunk 128 | 142.28 us/op | 103.28 us/op | 1.38 |
batch validate gossip attestation - vc 640000 - chunk 256 | 166.59 us/op | 101.44 us/op | 1.64 |
pickEth1Vote - no votes | 1.8105 ms/op | 1.0971 ms/op | 1.65 |
pickEth1Vote - max votes | 9.7480 ms/op | 6.3951 ms/op | 1.52 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 20.991 ms/op | 14.029 ms/op | 1.50 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 26.693 ms/op | 19.480 ms/op | 1.37 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 803.43 us/op | 457.20 us/op | 1.76 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 5.9406 ms/op | 2.7833 ms/op | 2.13 |
bytes32 toHexString | 616.00 ns/op | 425.00 ns/op | 1.45 |
bytes32 Buffer.toString(hex) | 306.00 ns/op | 250.00 ns/op | 1.22 |
bytes32 Buffer.toString(hex) from Uint8Array | 564.00 ns/op | 353.00 ns/op | 1.60 |
bytes32 Buffer.toString(hex) + 0x | 620.00 ns/op | 252.00 ns/op | 2.46 |
Object access 1 prop | 0.38500 ns/op | 0.13900 ns/op | 2.77 |
Map access 1 prop | 0.28300 ns/op | 0.13000 ns/op | 2.18 |
Object get x1000 | 13.061 ns/op | 5.8700 ns/op | 2.23 |
Map get x1000 | 12.725 ns/op | 6.3700 ns/op | 2.00 |
Object set x1000 | 51.043 ns/op | 32.818 ns/op | 1.56 |
Map set x1000 | 44.300 ns/op | 22.273 ns/op | 1.99 |
Return object 10000 times | 0.43710 ns/op | 0.28950 ns/op | 1.51 |
Throw Error 10000 times | 5.8446 us/op | 3.3642 us/op | 1.74 |
toHex | 260.54 ns/op | 141.23 ns/op | 1.84 |
Buffer.from | 273.06 ns/op | 131.59 ns/op | 2.08 |
shared Buffer | 130.68 ns/op | 83.393 ns/op | 1.57 |
fastMsgIdFn sha256 / 200 bytes | 3.2470 us/op | 2.2470 us/op | 1.45 |
fastMsgIdFn h32 xxhash / 200 bytes | 482.00 ns/op | 228.00 ns/op | 2.11 |
fastMsgIdFn h64 xxhash / 200 bytes | 428.00 ns/op | 262.00 ns/op | 1.63 |
fastMsgIdFn sha256 / 1000 bytes | 17.203 us/op | 7.2610 us/op | 2.37 |
fastMsgIdFn h32 xxhash / 1000 bytes | 663.00 ns/op | 359.00 ns/op | 1.85 |
fastMsgIdFn h64 xxhash / 1000 bytes | 525.00 ns/op | 352.00 ns/op | 1.49 |
fastMsgIdFn sha256 / 10000 bytes | 119.53 us/op | 64.364 us/op | 1.86 |
fastMsgIdFn h32 xxhash / 10000 bytes | 3.2070 us/op | 1.8110 us/op | 1.77 |
fastMsgIdFn h64 xxhash / 10000 bytes | 2.2660 us/op | 1.1900 us/op | 1.90 |
send data - 1000 256B messages | 28.744 ms/op | 11.704 ms/op | 2.46 |
send data - 1000 512B messages | 35.405 ms/op | 16.183 ms/op | 2.19 |
send data - 1000 1024B messages | 50.861 ms/op | 25.419 ms/op | 2.00 |
send data - 1000 1200B messages | 37.752 ms/op | 26.619 ms/op | 1.42 |
send data - 1000 2048B messages | 58.810 ms/op | 32.469 ms/op | 1.81 |
send data - 1000 4096B messages | 54.793 ms/op | 30.438 ms/op | 1.80 |
send data - 1000 16384B messages | 132.68 ms/op | 72.442 ms/op | 1.83 |
send data - 1000 65536B messages | 309.91 ms/op | 223.15 ms/op | 1.39 |
enrSubnets - fastDeserialize 64 bits | 1.9120 us/op | 1.0880 us/op | 1.76 |
enrSubnets - ssz BitVector 64 bits | 901.00 ns/op | 353.00 ns/op | 2.55 |
enrSubnets - fastDeserialize 4 bits | 266.00 ns/op | 157.00 ns/op | 1.69 |
enrSubnets - ssz BitVector 4 bits | 586.00 ns/op | 352.00 ns/op | 1.66 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 216.87 us/op | 143.87 us/op | 1.51 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 258.49 us/op | 178.80 us/op | 1.45 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 418.46 us/op | 228.80 us/op | 1.83 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 641.54 us/op | 402.62 us/op | 1.59 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 937.46 us/op | 633.65 us/op | 1.48 |
array of 16000 items push then shift | 2.4252 us/op | 1.6431 us/op | 1.48 |
LinkedList of 16000 items push then shift | 9.2850 ns/op | 7.5660 ns/op | 1.23 |
array of 16000 items push then pop | 147.25 ns/op | 106.92 ns/op | 1.38 |
LinkedList of 16000 items push then pop | 8.9150 ns/op | 7.2650 ns/op | 1.23 |
array of 24000 items push then shift | 3.0981 us/op | 2.4117 us/op | 1.28 |
LinkedList of 24000 items push then shift | 9.3940 ns/op | 7.0230 ns/op | 1.34 |
array of 24000 items push then pop | 238.56 ns/op | 128.66 ns/op | 1.85 |
LinkedList of 24000 items push then pop | 9.0170 ns/op | 6.9570 ns/op | 1.30 |
intersect bitArray bitLen 8 | 7.9570 ns/op | 6.4330 ns/op | 1.24 |
intersect array and set length 8 | 54.595 ns/op | 44.784 ns/op | 1.22 |
intersect bitArray bitLen 128 | 36.919 ns/op | 29.294 ns/op | 1.26 |
intersect array and set length 128 | 833.20 ns/op | 665.09 ns/op | 1.25 |
bitArray.getTrueBitIndexes() bitLen 128 | 1.9810 us/op | 2.1530 us/op | 0.92 |
bitArray.getTrueBitIndexes() bitLen 248 | 2.9460 us/op | 3.6470 us/op | 0.81 |
bitArray.getTrueBitIndexes() bitLen 512 | 5.6380 us/op | 7.6640 us/op | 0.74 |
Buffer.concat 32 items | 946.00 ns/op | 957.00 ns/op | 0.99 |
Uint8Array.set 32 items | 1.6310 us/op | 1.8590 us/op | 0.88 |
Buffer.copy | 2.9330 us/op | 2.6470 us/op | 1.11 |
Uint8Array.set - with subarray | 2.4730 us/op | 3.0760 us/op | 0.80 |
Uint8Array.set - without subarray | 1.6830 us/op | 1.8930 us/op | 0.89 |
getUint32 - dataview | 311.00 ns/op | 247.00 ns/op | 1.26 |
getUint32 - manual | 207.00 ns/op | 155.00 ns/op | 1.34 |
Set add up to 64 items then delete first | 2.3727 us/op | 2.2020 us/op | 1.08 |
OrderedSet add up to 64 items then delete first | 3.5338 us/op | 3.2599 us/op | 1.08 |
Set add up to 64 items then delete last | 2.7675 us/op | 2.5009 us/op | 1.11 |
OrderedSet add up to 64 items then delete last | 4.1231 us/op | 3.6057 us/op | 1.14 |
Set add up to 64 items then delete middle | 2.7538 us/op | 2.4637 us/op | 1.12 |
OrderedSet add up to 64 items then delete middle | 5.7536 us/op | 5.1055 us/op | 1.13 |
Set add up to 128 items then delete first | 5.8749 us/op | 4.9914 us/op | 1.18 |
OrderedSet add up to 128 items then delete first | 8.5086 us/op | 7.7436 us/op | 1.10 |
Set add up to 128 items then delete last | 5.4199 us/op | 4.8024 us/op | 1.13 |
OrderedSet add up to 128 items then delete last | 8.0604 us/op | 7.1584 us/op | 1.13 |
Set add up to 128 items then delete middle | 5.5301 us/op | 5.0529 us/op | 1.09 |
OrderedSet add up to 128 items then delete middle | 17.874 us/op | 13.559 us/op | 1.32 |
Set add up to 256 items then delete first | 12.371 us/op | 10.205 us/op | 1.21 |
OrderedSet add up to 256 items then delete first | 19.576 us/op | 15.731 us/op | 1.24 |
Set add up to 256 items then delete last | 11.628 us/op | 9.6377 us/op | 1.21 |
OrderedSet add up to 256 items then delete last | 17.250 us/op | 14.978 us/op | 1.15 |
Set add up to 256 items then delete middle | 11.534 us/op | 9.4348 us/op | 1.22 |
OrderedSet add up to 256 items then delete middle | 50.083 us/op | 42.454 us/op | 1.18 |
transfer serialized Status (84 B) | 1.4650 us/op | 1.4590 us/op | 1.00 |
copy serialized Status (84 B) | 1.2660 us/op | 1.2280 us/op | 1.03 |
transfer serialized SignedVoluntaryExit (112 B) | 1.5710 us/op | 1.4840 us/op | 1.06 |
copy serialized SignedVoluntaryExit (112 B) | 1.4500 us/op | 1.2100 us/op | 1.20 |
transfer serialized ProposerSlashing (416 B) | 1.9020 us/op | 1.7040 us/op | 1.12 |
copy serialized ProposerSlashing (416 B) | 1.6040 us/op | 1.6060 us/op | 1.00 |
transfer serialized Attestation (485 B) | 1.9000 us/op | 1.6300 us/op | 1.17 |
copy serialized Attestation (485 B) | 1.9020 us/op | 1.3340 us/op | 1.43 |
transfer serialized AttesterSlashing (33232 B) | 2.4480 us/op | 1.6370 us/op | 1.50 |
copy serialized AttesterSlashing (33232 B) | 5.7760 us/op | 4.2130 us/op | 1.37 |
transfer serialized Small SignedBeaconBlock (128000 B) | 3.2580 us/op | 2.2480 us/op | 1.45 |
copy serialized Small SignedBeaconBlock (128000 B) | 16.846 us/op | 13.173 us/op | 1.28 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 3.5450 us/op | 2.9800 us/op | 1.19 |
copy serialized Avg SignedBeaconBlock (200000 B) | 22.618 us/op | 20.946 us/op | 1.08 |
transfer serialized BlobsSidecar (524380 B) | 3.0870 us/op | 2.8140 us/op | 1.10 |
copy serialized BlobsSidecar (524380 B) | 84.360 us/op | 77.366 us/op | 1.09 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 3.4940 us/op | 2.8700 us/op | 1.22 |
copy serialized Big SignedBeaconBlock (1000000 B) | 230.89 us/op | 150.73 us/op | 1.53 |
pass gossip attestations to forkchoice per slot | 3.3026 ms/op | 2.8994 ms/op | 1.14 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 574.12 us/op | 502.27 us/op | 1.14 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 3.7684 ms/op | 3.0544 ms/op | 1.23 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 5.8104 ms/op | 5.0050 ms/op | 1.16 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 3.3236 ms/op | 2.8513 ms/op | 1.17 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 3.4281 ms/op | 2.9955 ms/op | 1.14 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 3.8466 ms/op | 4.1817 ms/op | 0.92 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 12.760 ms/op | 10.584 ms/op | 1.21 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 13.483 ms/op | 10.813 ms/op | 1.25 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 20.914 ms/op | 15.162 ms/op | 1.38 |
computeDeltas 500000 validators 300 proto nodes | 5.6473 ms/op | 4.3464 ms/op | 1.30 |
computeDeltas 500000 validators 1200 proto nodes | 4.9701 ms/op | 4.1711 ms/op | 1.19 |
computeDeltas 500000 validators 7200 proto nodes | 5.0651 ms/op | 4.1062 ms/op | 1.23 |
computeDeltas 750000 validators 300 proto nodes | 7.0931 ms/op | 5.9927 ms/op | 1.18 |
computeDeltas 750000 validators 1200 proto nodes | 7.4390 ms/op | 6.0463 ms/op | 1.23 |
computeDeltas 750000 validators 7200 proto nodes | 8.8384 ms/op | 6.1960 ms/op | 1.43 |
computeDeltas 1400000 validators 300 proto nodes | 18.843 ms/op | 11.391 ms/op | 1.65 |
computeDeltas 1400000 validators 1200 proto nodes | 20.900 ms/op | 11.423 ms/op | 1.83 |
computeDeltas 1400000 validators 7200 proto nodes | 17.574 ms/op | 11.685 ms/op | 1.50 |
computeDeltas 2100000 validators 300 proto nodes | 27.976 ms/op | 17.404 ms/op | 1.61 |
computeDeltas 2100000 validators 1200 proto nodes | 24.572 ms/op | 17.355 ms/op | 1.42 |
computeDeltas 2100000 validators 7200 proto nodes | 37.871 ms/op | 17.359 ms/op | 2.18 |
altair processAttestation - 250000 vs - 7PWei normalcase | 2.8848 ms/op | 1.6873 ms/op | 1.71 |
altair processAttestation - 250000 vs - 7PWei worstcase | 4.6044 ms/op | 2.5455 ms/op | 1.81 |
altair processAttestation - setStatus - 1/6 committees join | 229.86 us/op | 86.634 us/op | 2.65 |
altair processAttestation - setStatus - 1/3 committees join | 726.72 us/op | 179.53 us/op | 4.05 |
altair processAttestation - setStatus - 1/2 committees join | 442.82 us/op | 253.41 us/op | 1.75 |
altair processAttestation - setStatus - 2/3 committees join | 939.73 us/op | 326.99 us/op | 2.87 |
altair processAttestation - setStatus - 4/5 committees join | 1.4822 ms/op | 483.83 us/op | 3.06 |
altair processAttestation - setStatus - 100% committees join | 1.1416 ms/op | 549.43 us/op | 2.08 |
altair processBlock - 250000 vs - 7PWei normalcase | 9.7333 ms/op | 3.6352 ms/op | 2.68 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 63.399 ms/op | 22.313 ms/op | 2.84 |
altair processBlock - 250000 vs - 7PWei worstcase | 77.462 ms/op | 32.261 ms/op | 2.40 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 157.37 ms/op | 62.498 ms/op | 2.52 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 5.0803 ms/op | 2.0537 ms/op | 2.47 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 59.797 ms/op | 20.873 ms/op | 2.86 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 664.35 us/op | 308.30 us/op | 2.15 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 12.078 us/op | 5.3280 us/op | 2.27 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 62.281 us/op | 34.312 us/op | 1.82 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 27.298 us/op | 9.5000 us/op | 2.87 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 17.497 us/op | 5.3220 us/op | 3.29 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 265.46 us/op | 139.60 us/op | 1.90 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 4.5070 ms/op | 1.1503 ms/op | 3.92 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 2.9492 ms/op | 1.4874 ms/op | 1.98 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 4.9435 ms/op | 1.4752 ms/op | 3.35 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 11.588 ms/op | 3.5677 ms/op | 3.25 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 3.6470 ms/op | 1.6323 ms/op | 2.23 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 11.410 ms/op | 3.7793 ms/op | 3.02 |
Tree 40 250000 create | 471.32 ms/op | 234.85 ms/op | 2.01 |
Tree 40 250000 get(125000) | 315.16 ns/op | 151.37 ns/op | 2.08 |
Tree 40 250000 set(125000) | 1.2622 us/op | 684.15 ns/op | 1.84 |
Tree 40 250000 toArray() | 30.456 ms/op | 20.007 ms/op | 1.52 |
Tree 40 250000 iterate all - toArray() + loop | 29.419 ms/op | 20.443 ms/op | 1.44 |
Tree 40 250000 iterate all - get(i) | 100.70 ms/op | 52.069 ms/op | 1.93 |
Array 250000 create | 5.9187 ms/op | 3.2704 ms/op | 1.81 |
Array 250000 clone - spread | 2.4607 ms/op | 1.4539 ms/op | 1.69 |
Array 250000 get(125000) | 0.74300 ns/op | 0.41500 ns/op | 1.79 |
Array 250000 set(125000) | 1.2390 ns/op | 0.43000 ns/op | 2.88 |
Array 250000 iterate all - loop | 240.71 us/op | 83.104 us/op | 2.90 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 129.63 ms/op | 48.959 ms/op | 2.65 |
Array.fill - length 1000000 | 4.8046 ms/op | 3.5660 ms/op | 1.35 |
Array push - length 1000000 | 43.038 ms/op | 17.055 ms/op | 2.52 |
Array.get | 0.91314 ns/op | 0.28480 ns/op | 3.21 |
Uint8Array.get | 1.4727 ns/op | 0.43683 ns/op | 3.37 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 32.806 ms/op | 19.299 ms/op | 1.70 |
altair processEpoch - mainnet_e81889 | 629.79 ms/op | 283.36 ms/op | 2.22 |
mainnet_e81889 - altair beforeProcessEpoch | 29.680 ms/op | 23.574 ms/op | 1.26 |
mainnet_e81889 - altair processJustificationAndFinalization | 27.849 us/op | 12.974 us/op | 2.15 |
mainnet_e81889 - altair processInactivityUpdates | 13.150 ms/op | 5.2308 ms/op | 2.51 |
mainnet_e81889 - altair processRewardsAndPenalties | 109.58 ms/op | 46.074 ms/op | 2.38 |
mainnet_e81889 - altair processRegistryUpdates | 8.3380 us/op | 1.9290 us/op | 4.32 |
mainnet_e81889 - altair processSlashings | 1.3270 us/op | 433.00 ns/op | 3.06 |
mainnet_e81889 - altair processEth1DataReset | 850.00 ns/op | 318.00 ns/op | 2.67 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 6.0720 ms/op | 1.5267 ms/op | 3.98 |
mainnet_e81889 - altair processSlashingsReset | 6.2060 us/op | 2.9420 us/op | 2.11 |
mainnet_e81889 - altair processRandaoMixesReset | 7.8940 us/op | 8.1900 us/op | 0.96 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 732.00 ns/op | 1.1230 us/op | 0.65 |
mainnet_e81889 - altair processParticipationFlagUpdates | 1.9900 us/op | 1.9280 us/op | 1.03 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 553.00 ns/op | 485.00 ns/op | 1.14 |
mainnet_e81889 - altair afterProcessEpoch | 66.881 ms/op | 51.702 ms/op | 1.29 |
capella processEpoch - mainnet_e217614 | 2.1178 s/op | 949.32 ms/op | 2.23 |
mainnet_e217614 - capella beforeProcessEpoch | 141.54 ms/op | 70.213 ms/op | 2.02 |
mainnet_e217614 - capella processJustificationAndFinalization | 23.851 us/op | 13.585 us/op | 1.76 |
mainnet_e217614 - capella processInactivityUpdates | 32.315 ms/op | 17.902 ms/op | 1.81 |
mainnet_e217614 - capella processRewardsAndPenalties | 329.95 ms/op | 222.95 ms/op | 1.48 |
mainnet_e217614 - capella processRegistryUpdates | 20.404 us/op | 12.812 us/op | 1.59 |
mainnet_e217614 - capella processSlashings | 1.1020 us/op | 349.00 ns/op | 3.16 |
mainnet_e217614 - capella processEth1DataReset | 1.0460 us/op | 300.00 ns/op | 3.49 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 10.830 ms/op | 15.504 ms/op | 0.70 |
mainnet_e217614 - capella processSlashingsReset | 13.896 us/op | 3.8800 us/op | 3.58 |
mainnet_e217614 - capella processRandaoMixesReset | 9.0780 us/op | 4.5630 us/op | 1.99 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 1.2550 us/op | 562.00 ns/op | 2.23 |
mainnet_e217614 - capella processParticipationFlagUpdates | 6.1880 us/op | 1.9420 us/op | 3.19 |
mainnet_e217614 - capella afterProcessEpoch | 197.73 ms/op | 122.97 ms/op | 1.61 |
phase0 processEpoch - mainnet_e58758 | 563.73 ms/op | 339.64 ms/op | 1.66 |
mainnet_e58758 - phase0 beforeProcessEpoch | 133.68 ms/op | 71.625 ms/op | 1.87 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 20.159 us/op | 13.333 us/op | 1.51 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 41.921 ms/op | 28.396 ms/op | 1.48 |
mainnet_e58758 - phase0 processRegistryUpdates | 10.686 us/op | 7.4640 us/op | 1.43 |
mainnet_e58758 - phase0 processSlashings | 591.00 ns/op | 331.00 ns/op | 1.79 |
mainnet_e58758 - phase0 processEth1DataReset | 510.00 ns/op | 290.00 ns/op | 1.76 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.3362 ms/op | 1.4150 ms/op | 0.94 |
mainnet_e58758 - phase0 processSlashingsReset | 3.3200 us/op | 3.7500 us/op | 0.89 |
mainnet_e58758 - phase0 processRandaoMixesReset | 4.5980 us/op | 4.3020 us/op | 1.07 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 586.00 ns/op | 291.00 ns/op | 2.01 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 5.1630 us/op | 2.6000 us/op | 1.99 |
mainnet_e58758 - phase0 afterProcessEpoch | 56.949 ms/op | 43.054 ms/op | 1.32 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.5046 ms/op | 1.9137 ms/op | 0.79 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 2.3620 ms/op | 2.1164 ms/op | 1.12 |
altair processInactivityUpdates - 250000 normalcase | 27.909 ms/op | 15.293 ms/op | 1.83 |
altair processInactivityUpdates - 250000 worstcase | 32.052 ms/op | 15.454 ms/op | 2.07 |
phase0 processRegistryUpdates - 250000 normalcase | 13.301 us/op | 6.1570 us/op | 2.16 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 523.53 us/op | 278.84 us/op | 1.88 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 156.47 ms/op | 124.51 ms/op | 1.26 |
altair processRewardsAndPenalties - 250000 normalcase | 74.519 ms/op | 39.552 ms/op | 1.88 |
altair processRewardsAndPenalties - 250000 worstcase | 66.049 ms/op | 37.871 ms/op | 1.74 |
phase0 getAttestationDeltas - 250000 normalcase | 11.654 ms/op | 7.8721 ms/op | 1.48 |
phase0 getAttestationDeltas - 250000 worstcase | 16.805 ms/op | 7.9947 ms/op | 2.10 |
phase0 processSlashings - 250000 worstcase | 89.259 us/op | 111.09 us/op | 0.80 |
altair processSyncCommitteeUpdates - 250000 | 207.17 ms/op | 131.61 ms/op | 1.57 |
BeaconState.hashTreeRoot - No change | 572.00 ns/op | 229.00 ns/op | 2.50 |
BeaconState.hashTreeRoot - 1 full validator | 177.81 us/op | 114.47 us/op | 1.55 |
BeaconState.hashTreeRoot - 32 full validator | 1.8489 ms/op | 1.1713 ms/op | 1.58 |
BeaconState.hashTreeRoot - 512 full validator | 17.195 ms/op | 10.760 ms/op | 1.60 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 157.36 us/op | 160.71 us/op | 0.98 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 1.9886 ms/op | 2.0611 ms/op | 0.96 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 27.815 ms/op | 21.094 ms/op | 1.32 |
BeaconState.hashTreeRoot - 1 balances | 132.09 us/op | 104.54 us/op | 1.26 |
BeaconState.hashTreeRoot - 32 balances | 1.4613 ms/op | 912.95 us/op | 1.60 |
BeaconState.hashTreeRoot - 512 balances | 11.759 ms/op | 8.2409 ms/op | 1.43 |
BeaconState.hashTreeRoot - 250000 balances | 270.91 ms/op | 168.14 ms/op | 1.61 |
aggregationBits - 2048 els - zipIndexesInBitList | 52.804 us/op | 28.479 us/op | 1.85 |
byteArrayEquals 32 | 113.20 ns/op | 55.166 ns/op | 2.05 |
Buffer.compare 32 | 45.703 ns/op | 17.570 ns/op | 2.60 |
byteArrayEquals 1024 | 3.9173 us/op | 1.6221 us/op | 2.42 |
Buffer.compare 1024 | 82.768 ns/op | 26.543 ns/op | 3.12 |
byteArrayEquals 16384 | 75.022 us/op | 26.060 us/op | 2.88 |
Buffer.compare 16384 | 376.79 ns/op | 207.87 ns/op | 1.81 |
byteArrayEquals 123687377 | 271.39 ms/op | 195.65 ms/op | 1.39 |
Buffer.compare 123687377 | 7.1367 ms/op | 8.6336 ms/op | 0.83 |
byteArrayEquals 32 - diff last byte | 88.226 ns/op | 53.699 ns/op | 1.64 |
Buffer.compare 32 - diff last byte | 31.200 ns/op | 17.546 ns/op | 1.78 |
byteArrayEquals 1024 - diff last byte | 2.1091 us/op | 1.6079 us/op | 1.31 |
Buffer.compare 1024 - diff last byte | 43.125 ns/op | 25.973 ns/op | 1.66 |
byteArrayEquals 16384 - diff last byte | 38.342 us/op | 25.689 us/op | 1.49 |
Buffer.compare 16384 - diff last byte | 329.31 ns/op | 188.45 ns/op | 1.75 |
byteArrayEquals 123687377 - diff last byte | 326.93 ms/op | 194.92 ms/op | 1.68 |
Buffer.compare 123687377 - diff last byte | 8.6972 ms/op | 8.6523 ms/op | 1.01 |
byteArrayEquals 32 - random bytes | 9.1160 ns/op | 5.3360 ns/op | 1.71 |
Buffer.compare 32 - random bytes | 38.470 ns/op | 17.467 ns/op | 2.20 |
byteArrayEquals 1024 - random bytes | 9.0050 ns/op | 5.3310 ns/op | 1.69 |
Buffer.compare 1024 - random bytes | 28.943 ns/op | 17.522 ns/op | 1.65 |
byteArrayEquals 16384 - random bytes | 6.6570 ns/op | 5.3620 ns/op | 1.24 |
Buffer.compare 16384 - random bytes | 30.812 ns/op | 17.800 ns/op | 1.73 |
byteArrayEquals 123687377 - random bytes | 9.8100 ns/op | 6.6400 ns/op | 1.48 |
Buffer.compare 123687377 - random bytes | 28.470 ns/op | 18.980 ns/op | 1.50 |
regular array get 100000 times | 45.669 us/op | 33.485 us/op | 1.36 |
wrappedArray get 100000 times | 51.834 us/op | 33.914 us/op | 1.53 |
arrayWithProxy get 100000 times | 15.465 ms/op | 13.388 ms/op | 1.16 |
ssz.Root.equals | 59.941 ns/op | 46.565 ns/op | 1.29 |
byteArrayEquals | 59.477 ns/op | 45.825 ns/op | 1.30 |
Buffer.compare | 14.520 ns/op | 10.810 ns/op | 1.34 |
processSlot - 1 slots | 16.391 us/op | 13.744 us/op | 1.19 |
processSlot - 32 slots | 2.9556 ms/op | 2.7206 ms/op | 1.09 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 50.781 ms/op | 36.900 ms/op | 1.38 |
getCommitteeAssignments - req 1 vs - 250000 vc | 7.0054 ms/op | 2.1582 ms/op | 3.25 |
getCommitteeAssignments - req 100 vs - 250000 vc | 7.2575 ms/op | 4.2479 ms/op | 1.71 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 5.2501 ms/op | 4.5031 ms/op | 1.17 |
findModifiedValidators - 10000 modified validators | 409.98 ms/op | 289.71 ms/op | 1.42 |
findModifiedValidators - 1000 modified validators | 550.42 ms/op | 189.82 ms/op | 2.90 |
findModifiedValidators - 100 modified validators | 339.89 ms/op | 167.10 ms/op | 2.03 |
findModifiedValidators - 10 modified validators | 283.76 ms/op | 189.91 ms/op | 1.49 |
findModifiedValidators - 1 modified validators | 329.40 ms/op | 171.24 ms/op | 1.92 |
findModifiedValidators - no difference | 346.37 ms/op | 193.86 ms/op | 1.79 |
compare ViewDUs | 5.2190 s/op | 3.0895 s/op | 1.69 |
compare each validator Uint8Array | 2.8524 s/op | 1.2674 s/op | 2.25 |
compare ViewDU to Uint8Array | 2.3816 s/op | 1.0895 s/op | 2.19 |
migrate state 1000000 validators, 24 modified, 0 new | 1.8499 s/op | 763.71 ms/op | 2.42 |
migrate state 1000000 validators, 1700 modified, 1000 new | 2.0991 s/op | 981.90 ms/op | 2.14 |
migrate state 1000000 validators, 3400 modified, 2000 new | 3.1825 s/op | 1.1448 s/op | 2.78 |
migrate state 1500000 validators, 24 modified, 0 new | 2.1854 s/op | 729.02 ms/op | 3.00 |
migrate state 1500000 validators, 1700 modified, 1000 new | 3.3304 s/op | 963.21 ms/op | 3.46 |
migrate state 1500000 validators, 3400 modified, 2000 new | 3.7472 s/op | 1.0910 s/op | 3.43 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 20.590 ns/op | 4.1900 ns/op | 4.91 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 2.2685 us/op | 609.49 ns/op | 3.72 |
computeProposers - vc 250000 | 27.641 ms/op | 7.3949 ms/op | 3.74 |
computeEpochShuffling - vc 250000 | 172.67 ms/op | 42.436 ms/op | 4.07 |
getNextSyncCommittee - vc 250000 | 474.39 ms/op | 121.96 ms/op | 3.89 |
computeSigningRoot for AttestationData | 54.361 us/op | 21.583 us/op | 2.52 |
hash AttestationData serialized data then Buffer.toString(base64) | 3.5296 us/op | 1.5692 us/op | 2.25 |
toHexString serialized data | 1.4624 us/op | 884.67 ns/op | 1.65 |
Buffer.toString(base64) | 312.24 ns/op | 181.56 ns/op | 1.72 |
nodejs block root to RootHex using toHex | 322.22 ns/op | 141.42 ns/op | 2.28 |
nodejs block root to RootHex using toRootHex | 187.32 ns/op | 86.226 ns/op | 2.17 |
browser block root to RootHex using the deprecated toHexString | 490.13 ns/op | 219.64 ns/op | 2.23 |
browser block root to RootHex using toHex | 413.77 ns/op | 174.71 ns/op | 2.37 |
browser block root to RootHex using toRootHex | 406.28 ns/op | 155.31 ns/op | 2.62 |
by benchmarkbot/action
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
moving to draft as it seems we have some consensus to wait until 22 becomes active LTS |
@wemeetagain Previously we didn't had precedence to only use LTS versions, rather latest version. Even current codebase is still locked upto This PR was reverting an earlier PR because 22.5 introduced a regression, but 22.5.1 fixed it. Don't see any reason to keep restricting upto 22.4. |
I personally don't have confidence in nodejs release process for Having to debug strange node issue is not fun..and we have better things to do |
Yes, I think our experience the other day, where we had to pin the version, changed my mind a little bit. It seems that the nodejs folks treat the new version with more leeway to be actually unstable and breaking before it becomes "current". Once it becomes "current", their standards for something breaking become much higher. I tend to agree with Nico that we don't really care to have our daily progress possibly stopped again by a breaking version, and we can mitigate that by pinning a specific version until it becomes "current" LTS. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nodejs 22 is in LTS now https://nodejs.org/en/blog/release/v22.11.0
@wemeetagain Need to update the required check names to align with node version. |
rerunning CI so the settings will remember the new jobs to enforce (settings only remember CI job names run in the last week) |
Motivation
Use the latest stable node release.
Description
Node version 22.5.1 fixes the regressions.
Steps to test or reproduce
Run all tests.